package ar.edu.utn.frsf.tpae.a2012.g05;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import ar.edu.utn.frsf.tpae.a2012.g05.dao.ClienteDao;
import ar.edu.utn.frsf.tpae.a2012.g05.dao.CuentaDao;
import ar.edu.utn.frsf.tpae.a2012.g05.dao.impl.ClienteDaoImpl;
import ar.edu.utn.frsf.tpae.a2012.g05.dao.impl.CuentaDaoImpl;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cliente;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cuenta;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.CuentaCorriente;


public class App 
{
    public static void main( String[] args )
    {
      ClienteDao clienteDao = new ClienteDaoImpl();
      Cliente cliente = new Cliente();
//      cliente.setId(new Long(8));
      cliente.setNumero("21");
      cliente.setNombre("Mariano");
      cliente.setApellido("Olivera");
      cliente.setDocumento("12312312");
      cliente.setCuil("20-12312312-3");
      SimpleDateFormat formatoFecha = new SimpleDateFormat("yyyy-MM-dd");
      Date fecha;
      try {
			fecha = formatoFecha.parse("2012-10-20");
		} catch (ParseException e) {
			fecha = new Date();
			System.out.println("Se produjo una excepcion al parsear la fecha. Se usa fecha actual");
		}
      cliente.setFechaAlta(fecha);
      cliente.setDireccionPostal("Calle falsa 123");
      cliente.setTelefono("4556677");
      cliente.setEmail("mou@hot.com");
      
      System.out.println(cliente);
      clienteDao.saveOrUpdate(cliente);
    	
      CuentaDao cuentaDao = new CuentaDaoImpl();
      CuentaCorriente cuenta = new CuentaCorriente();
//      cliente.setId(new Long(8));
      cuenta.setNumero(111111);
      cuenta.setSaldoActual(new BigDecimal(123.45));
      cuenta.setIdCliente(1);
      cuenta.setTipoCuenta(Cuenta.CUENTA_CORRIENTE);
      cuenta.setCantMaxOpMensuales(100);
      cuenta.setCostoMantenimiento(new BigDecimal(20));
      cuenta.setInteresSaldoNegativo(new BigDecimal(10));
      cuenta.setLimiteSaldoNegativo(new BigDecimal(100));
      cuenta.setFechaApertura(fecha);
      
      System.out.println(cuenta);
      cuentaDao.saveOrUpdate(cuenta);

    }
}
